home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 07 - 1991 / 07.02 Feb 91 / 4th Debugger Appl / Nothing / Nothing.c next >
Encoding:
C/C++ Source or Header  |  1990-02-27  |  3.8 KB  |  118 lines  |  [TEXT/KAHL]

  1. /************************************************************************/
  2. /*                                                                      */
  3. /*    Source   - Nothing.c                                                */
  4. /*    Author   - Alexander S. Colwell, Copyright © 1990                    */
  5. /*                                                                        */
  6. /*    Purpose  - This is a simple external area that does nothing, but    */
  7. /*               allows to peek inside the 4th Dimension operations of a    */
  8. /*               external area.                                            */
  9. /*                                                                        */
  10. /*    Notes    - None.                                                    */
  11. /*                                                                        */
  12. /*    Revision - None.                                                    */
  13. /*                                                                      */
  14. /************************************************************************/
  15.  
  16. #include    "::4thDefs.h"        /* 4th External area defs                */
  17. #include    "::Debugger:Debugger.h"/* Debugger Window defs                */
  18. #include    "SetupA4.h"            /* Setup Register A4 defs                */
  19.  
  20. pascal void    main(areaEvent,areaRect,areaName,areaHdl)
  21.  
  22.    EventRecord    *areaEvent;        /* Area event pointer                    */
  23.    Rect            *areaRect;        /* Rect area pointer                    */
  24.    char            *areaName;        /* Area name Pascal string pointer        */
  25.    Handle        *areaHdl;        /* Area data handle                        */
  26.    
  27.    {
  28.    
  29.            char    *msg;            /* Working message string                */
  30.            Str255    msgNbr;            /* Working message number                */
  31.            short    output = TRUE;    /* Working output debugging                */
  32.            WindowPtr wPtr;            /* Working window pointer                */
  33.            
  34.            RememberA0();            /* Save register A0 for A4                */
  35.            SetUpA4();                /* Setup register A4                    */
  36.            
  37.            GetPort(&wPtr);            /* Get window pointer                    */
  38.            
  39.            switch(areaEvent->what) {/* Process event command                */
  40.            
  41.                case nullEvent:        /* Null event                            */
  42.                    msg = "Null"; output = FALSE; break;
  43.                    
  44.             case initEvt:        /* Init event                            */
  45.                 msg = "Initialization"; break;
  46.             
  47.             case deInitEvt:        /* Close event                            */
  48.                 msg = "Dispose"; break;
  49.             
  50.             case cursorEvt:        /* Cursor event                            */
  51.                 msg = "Cursor"; output = FALSE; break;
  52.             
  53.             case selectReq:        /* Selection request event                */
  54.                 areaEvent->message = 101;
  55.                 msg = "Selection"; break;
  56.             
  57.             case scrollEvt:        /* Scroll event                            */
  58.                 msg = "Scroll"; break;
  59.             
  60.             case drawReq:        /* Draw request event                    */
  61.                 areaEvent->message = 102;
  62.                 msg = "Draw";
  63.                 PaintRect(areaRect);
  64.                 break;
  65.             
  66.             case activNote:        /* Activate note event                    */
  67.                 msg = "ActivateNote"; break;
  68.                 
  69.             case deActivNote:    /* Deactivate note event                */
  70.                 msg = "DeactivateNote"; break;
  71.                 
  72.              case updateEvt:        /* Update external area                    */
  73.                 msg = "Update";
  74.                 PaintRect(areaRect);
  75.                 break;
  76.             
  77.              case mouseDown:        /* Mouse down in external area            */
  78.                 msg = "Mouse Down"; break;
  79.             
  80.              case keyDown:        /* Key down event                        */
  81.                 msg = "Key Down"; break;
  82.             
  83.              case autoKey:        /* Auto-key down event                    */
  84.                 msg = "Auto Key"; break;
  85.             
  86.             case 40:            /* After ActivNote event                */
  87.             case 41:            /* After DeactivNote event                */
  88.             case 43:            /* ActivNote idle event                    */
  89.                 output = FALSE; break;
  90.                 
  91.             default:            /* Some other event                        */
  92.                 NumToString((long)(areaEvent->what),msgNbr);
  93.                 msgNbr[msgNbr[0]+1] = 0;
  94.                 msg = (char *)(&msgNbr[1]);
  95.            }
  96.            
  97.            if (output)    {            /* Check if should output it            */
  98.                DbgPrint(DbgGetRefHdl(),
  99.                    "Event Type - %s, modifiers - %x, where - %d, %d\n",
  100.                    msg,areaEvent->modifiers,areaEvent->where.h,
  101.                    areaEvent->where.v);
  102.                /*
  103.                DbgPrint(DbgGetRefHdl(),
  104.                    "Area: left - %d, top - %d, right - %d, bottom - %d\n",
  105.                    areaRect->left,areaRect->top,areaRect->right,areaRect->bottom);
  106.                DbgPrint(DbgGetRefHdl(),
  107.                    "Origin: left - %d, top - %d\n",wPtr->portRect.left,
  108.                                                    wPtr->portRect.top);
  109.                DbgPrint(DbgGetRefHdl(),
  110.                    "GrafPtr: %lx, %lx\n",wPtr,areaEvent->message);
  111.                */
  112.            }
  113.            
  114.            RestoreA4();            /* Restore register A4                    */
  115.            
  116.    }
  117.  
  118.